home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / c / AmiVoGL_MDEV.lha / examples / teapot.c.bak < prev    next >
Text File  |  1997-12-30  |  14KB  |  506 lines

  1.  
  2. #include <stdio.h>
  3.  
  4. #ifdef SGI
  5. #include "gl.h"
  6. #include "device.h"
  7. #include "hershey.h"
  8. #else
  9. #include "vogl.h"
  10. #include "vodevice.h"
  11. #endif
  12.  
  13. /*
  14.  *    Draws Newell's Teapot as a heap of Bezier surface patches.
  15.  */
  16.  
  17.  
  18. #define    TEAPOT        1L
  19.  
  20. /*
  21.  *    Data for the teapot.
  22.  */
  23. #define    NUM_PNTS    306
  24. #define    NUM_PATCH    32 
  25.  
  26. float    xyz[NUM_PNTS][3] = {
  27.     { 1.400,   0.000,   2.400},
  28.     { 1.400,  -0.784,   2.400},
  29.     { 0.784,  -1.400,   2.400},
  30.     { 0.000,  -1.400,   2.400},
  31.     { 1.337,   0.000,   2.531},
  32.     { 1.337,  -0.749,   2.531},
  33.     { 0.749,  -1.337,   2.531},
  34.     { 0.000,  -1.337,   2.531},
  35.     { 1.438,   0.000,   2.531},
  36.     { 1.438,  -0.805,   2.531},
  37.     { 0.805,  -1.438,   2.531},
  38.     { 0.000,  -1.438,   2.531},
  39.     { 1.500,   0.000,   2.400},
  40.     { 1.500,  -0.840,   2.400},
  41.     { 0.840,  -1.500,   2.400},
  42.     { 0.000,  -1.500,   2.400},
  43.     {-0.784,  -1.400,   2.400},
  44.     {-1.400,  -0.784,   2.400},
  45.     {-1.400,   0.000,   2.400},
  46.     {-0.749,  -1.337,   2.531},
  47.     {-1.337,  -0.749,   2.531},
  48.     {-1.337,   0.000,   2.531},
  49.     {-0.805,  -1.438,   2.531},
  50.     {-1.438,  -0.805,   2.531},
  51.     {-1.438,   0.000,   2.531},
  52.     {-0.840,  -1.500,   2.400},
  53.     {-1.500,  -0.840,   2.400},
  54.     {-1.500,   0.000,   2.400},
  55.     {-1.400,   0.784,   2.400},
  56.     {-0.784,   1.400,   2.400},
  57.     { 0.000,   1.400,   2.400},
  58.     {-1.337,   0.749,   2.531},
  59.     {-0.749,   1.337,   2.531},
  60.     { 0.000,   1.337,   2.531},
  61.     {-1.438,   0.805,   2.531},
  62.     {-0.805,   1.438,   2.531},
  63.     { 0.000,   1.438,   2.531},
  64.     {-1.500,   0.840,   2.400},
  65.     {-0.840,   1.500,   2.400},
  66.     { 0.000,   1.500,   2.400},
  67.     { 0.784,   1.400,   2.400},
  68.     { 1.400,   0.784,   2.400},
  69.     { 0.749,   1.337,   2.531},
  70.     { 1.337,   0.749,   2.531},
  71.     { 0.805,   1.438,   2.531},
  72.     { 1.438,   0.805,   2.531},
  73.     { 0.840,   1.500,   2.400},
  74.     { 1.500,   0.840,   2.400},
  75.     { 1.750,   0.000,   1.875},
  76.     { 1.750,  -0.980,   1.875},
  77.     { 0.980,  -1.750,   1.875},
  78.     { 0.000,  -1.750,   1.875},
  79.     { 2.000,   0.000,   1.350},
  80.     { 2.000,  -1.120,   1.350},
  81.     { 1.120,  -2.000,   1.350},
  82.     { 0.000,  -2.000,   1.350},
  83.     { 2.000,   0.000,   0.900},
  84.     { 2.000,  -1.120,   0.900},
  85.     { 1.120,  -2.000,   0.900},
  86.     { 0.000,  -2.000,   0.900},
  87.     {-0.980,  -1.750,   1.875},
  88.     {-1.750,  -0.980,   1.875},
  89.     {-1.750,   0.000,   1.875},
  90.     {-1.120,  -2.000,   1.350},
  91.     {-2.000,  -1.120,   1.350},
  92.     {-2.000,   0.000,   1.350},
  93.     {-1.120,  -2.000,   0.900},
  94.     {-2.000,  -1.120,   0.900},
  95.     {-2.000,   0.000,   0.900},
  96.     {-1.750,   0.980,   1.875},
  97.     {-0.980,   1.750,   1.875},
  98.     { 0.000,   1.750,   1.875},
  99.     {-2.000,   1.120,   1.350},
  100.     {-1.120,   2.000,   1.350},
  101.     { 0.000,   2.000,   1.350},
  102.     {-2.000,   1.120,   0.900},
  103.     {-1.120,   2.000,   0.900},
  104.     { 0.000,   2.000,   0.900},
  105.     { 0.980,   1.750,   1.875},
  106.     { 1.750,   0.980,   1.875},
  107.     { 1.120,   2.000,   1.350},
  108.     { 2.000,   1.120,   1.350},
  109.     { 1.120,   2.000,   0.900},
  110.     { 2.000,   1.120,   0.900},
  111.     { 2.000,   0.000,   0.450},
  112.     { 2.000,  -1.120,   0.450},
  113.     { 1.120,  -2.000,   0.450},
  114.     { 0.000,  -2.000,   0.450},
  115.     { 1.500,   0.000,   0.225},
  116.     { 1.500,  -0.840,   0.225},
  117.     { 0.840,  -1.500,   0.225},
  118.     { 0.000,  -1.500,   0.225},
  119.     { 1.500,   0.000,   0.150},
  120.     { 1.500,  -0.840,   0.150},
  121.     { 0.840,  -1.500,   0.150},
  122.     { 0.000,  -1.500,   0.150},
  123.     {-1.120,  -2.000,   0.450},
  124.     {-2.000,  -1.120,   0.450},
  125.     {-2.000,   0.000,   0.450},
  126.     {-0.840,  -1.500,   0.225},
  127.     {-1.500,  -0.840,   0.225},
  128.     {-1.500,   0.000,   0.225},
  129.     {-0.840,  -1.500,   0.150},
  130.     {-1.500,  -0.840,   0.150},
  131.     {-1.500,   0.000,   0.150},
  132.     {-2.000,   1.120,   0.450},
  133.     {-1.120,   2.000,   0.450},
  134.     { 0.000,   2.000,   0.450},
  135.     {-1.500,   0.840,   0.225},
  136.     {-0.840,   1.500,   0.225},
  137.     { 0.000,   1.500,   0.225},
  138.     {-1.500,   0.840,   0.150},
  139.     {-0.840,   1.500,   0.150},
  140.     { 0.000,   1.500,   0.150},
  141.     { 1.120,   2.000,   0.450},
  142.     { 2.000,   1.120,   0.450},
  143.     { 0.840,   1.500,   0.225},
  144.     { 1.500,   0.840,   0.225},
  145.     { 0.840,   1.500,   0.150},
  146.     { 1.500,   0.840,   0.150},
  147.     {-1.600,   0.000,   2.025},
  148.     {-1.600,  -0.300,   2.025},
  149.     {-1.500,  -0.300,   2.250},
  150.     {-1.500,   0.000,   2.250},
  151.     {-2.300,   0.000,   2.025},
  152.     {-2.300,  -0.300,   2.025},
  153.     {-2.500,  -0.300,   2.250},
  154.     {-2.500,   0.000,   2.250},
  155.     {-2.700,   0.000,   2.025},
  156.     {-2.700,  -0.300,   2.025},
  157.     {-3.000,  -0.300,   2.250},
  158.     {-3.000,   0.000,   2.250},
  159.     {-2.700,   0.000,   1.800},
  160.     {-2.700,  -0.300,   1.800},
  161.     {-3.000,  -0.300,   1.800},
  162.     {-3.000,   0.000,   1.800},
  163.     {-1.500,   0.300,   2.250},
  164.     {-1.600,   0.300,   2.025},
  165.     {-2.500,   0.300,   2.250},
  166.     {-2.300,   0.300,   2.025},
  167.     {-3.000,   0.300,   2.250},
  168.     {-2.700,   0.300,   2.025},
  169.     {-3.000,   0.300,   1.800},
  170.     {-2.700,   0.300,   1.800},
  171.     {-2.700,   0.000,   1.575},
  172.     {-2.700,  -0.300,   1.575},
  173.     {-3.000,  -0.300,   1.350},
  174.     {-3.000,   0.000,   1.350},
  175.     {-2.500,   0.000,   1.125},
  176.     {-2.500,  -0.300,   1.125},
  177.     {-2.650,  -0.300,   0.938},
  178.     {-2.650,   0.000,   0.938},
  179.     {-2.000,  -0.300,   0.900},
  180.     {-1.900,  -0.300,   0.600},
  181.     {-1.900,   0.000,   0.600},
  182.     {-3.000,   0.300,   1.350},
  183.     {-2.700,   0.300,   1.575},
  184.     {-2.650,   0.300,   0.938},
  185.     {-2.500,   0.300,   1.125},
  186.     {-1.900,   0.300,   0.600},
  187.     {-2.000,   0.300,   0.900},
  188.     { 1.700,   0.000,   1.425},
  189.     { 1.700,  -0.660,   1.425},
  190.     { 1.700,  -0.660,   0.600},
  191.     { 1.700,   0.000,   0.600},
  192.     { 2.600,   0.000,   1.425},
  193.     { 2.600,  -0.660,   1.425},
  194.     { 3.100,  -0.660,   0.825},
  195.     { 3.100,   0.000,   0.825},
  196.     { 2.300,   0.000,   2.100},
  197.     { 2.300,  -0.250,   2.100},
  198.     { 2.400,  -0.250,   2.025},
  199.     { 2.400,   0.000,   2.025},
  200.     { 2.700,   0.000,   2.400},
  201.     { 2.700,  -0.250,   2.400},
  202.     { 3.300,  -0.250,   2.400},
  203.     { 3.300,   0.000,   2.400},
  204.     { 1.700,   0.660,   0.600},
  205.     { 1.700,   0.660,   1.425},
  206.     { 3.100,   0.660,   0.825},
  207.     { 2.600,   0.660,   1.425},
  208.     { 2.400,   0.250,   2.025},
  209.     { 2.300,   0.250,   2.100},
  210.     { 3.300,   0.250,   2.400},
  211.     { 2.700,   0.250,   2.400},
  212.     { 2.800,   0.000,   2.475},
  213.     { 2.800,  -0.250,   2.475},
  214.     { 3.525,  -0.250,   2.494},
  215.     { 3.525,   0.000,   2.494},
  216.     { 2.900,   0.000,   2.475},
  217.     { 2.900,  -0.150,   2.475},
  218.     { 3.450,  -0.150,   2.513},
  219.     { 3.450,   0.000,   2.513},
  220.     { 2.800,   0.000,   2.400},
  221.     { 2.800,  -0.150,   2.400},
  222.     { 3.200,  -0.150,   2.400},
  223.     { 3.200,   0.000,   2.400},
  224.     { 3.525,   0.250,   2.494},
  225.     { 2.800,   0.250,   2.475},
  226.     { 3.450,   0.150,   2.513},
  227.     { 2.900,   0.150,   2.475},
  228.     { 3.200,   0.150,   2.400},
  229.     { 2.800,   0.150,   2.400},
  230.     { 0.000,   0.000,   3.150},
  231.     { 0.000,  -0.002,   3.150},
  232.     { 0.002,   0.000,   3.150},
  233.     { 0.800,   0.000,   3.150},
  234.     { 0.800,  -0.450,   3.150},
  235.     { 0.450,  -0.800,   3.150},
  236.     { 0.000,  -0.800,   3.150},
  237.     { 0.000,   0.000,   2.850},
  238.     { 0.200,   0.000,   2.700},
  239.     { 0.200,  -0.112,   2.700},
  240.     { 0.112,  -0.200,   2.700},
  241.     { 0.000,  -0.200,   2.700},
  242.     {-0.002,   0.000,   3.150},
  243.     {-0.450,  -0.800,   3.150},
  244.     {-0.800,  -0.450,   3.150},
  245.     {-0.800,   0.000,   3.150},
  246.     {-0.112,  -0.200,   2.700},
  247.     {-0.200,  -0.112,   2.700},
  248.     {-0.200,   0.000,   2.700},
  249.     { 0.000,   0.002,   3.150},
  250.     {-0.800,   0.450,   3.150},
  251.     {-0.450,   0.800,   3.150},
  252.     { 0.000,   0.800,   3.150},
  253.     {-0.200,   0.112,   2.700},
  254.     {-0.112,   0.200,   2.700},
  255.     { 0.000,   0.200,   2.700},
  256.     { 0.450,   0.800,   3.150},
  257.     { 0.800,   0.450,   3.150},
  258.     { 0.112,   0.200,   2.700},
  259.     { 0.200,   0.112,   2.700},
  260.     { 0.400,   0.000,   2.550},
  261.     { 0.400,  -0.224,   2.550},
  262.     { 0.224,  -0.400,   2.550},
  263.     { 0.000,  -0.400,   2.550},
  264.     { 1.300,   0.000,   2.550},
  265.     { 1.300,  -0.728,   2.550},
  266.     { 0.728,  -1.300,   2.550},
  267.     { 0.000,  -1.300,   2.550},
  268.     { 1.300,   0.000,   2.400},
  269.     { 1.300,  -0.728,   2.400},
  270.     { 0.728,  -1.300,   2.400},
  271.     { 0.000,  -1.300,   2.400},
  272.     {-0.224,  -0.400,   2.550},
  273.     {-0.400,  -0.224,   2.550},
  274.     {-0.400,   0.000,   2.550},
  275.     {-0.728,  -1.300,   2.550},
  276.     {-1.300,  -0.728,   2.550},
  277.     {-1.300,   0.000,   2.550},
  278.     {-0.728,  -1.300,   2.400},
  279.     {-1.300,  -0.728,   2.400},
  280.     {-1.300,   0.000,   2.400},
  281.     {-0.400,   0.224,   2.550},
  282.     {-0.224,   0.400,   2.550},
  283.     { 0.000,   0.400,   2.550},
  284.     {-1.300,   0.728,   2.550},
  285.     {-0.728,   1.300,   2.550},
  286.     { 0.000,   1.300,   2.550},
  287.     {-1.300,   0.728,   2.400},
  288.     {-0.728,   1.300,   2.400},
  289.     { 0.000,   1.300,   2.400},
  290.     { 0.224,   0.400,   2.550},
  291.     { 0.400,   0.224,   2.550},
  292.     { 0.728,   1.300,   2.550},
  293.     { 1.300,   0.728,   2.550},
  294.     { 0.728,   1.300,   2.400},
  295.     { 1.300,   0.728,   2.400},
  296.     { 0.000,   0.000,   0.000},
  297.     { 1.500,   0.000,   0.150